Skip to main content

Personal Project

Assignment 3: Personal Project - Phase 1 (Weeks 5-10)

Based on your personal project proposal!

Implement your project in aspnet.core, without doing the full architectural dance.
No hard requirement for CLEAN/ONION approach (do it if you want do).

What must be there:

  • domain design (everything in your project proposal, min 10 meaningful db entities)
  • rest api controllers, versioning, public dtos
  • swagger
  • auth (jwt)
  • client UX (mvc, scaffolded, no need to do anything fancy. just to prove that domain logic works)
  • admin UX (mvc, area, functional, protected, designed, nice, good to use. no viewbags/viewdata - use viewmodels)
  • translations in UI (i18n, resx files)
  • translations in DB (i18n, in db - langstr)
  • idor (user can only access their own data - in rest controllers)
  • ci/cd deploy (asp app, db)

Repositories, UOW, servives, BLL - not mandatory.
Do not just scaffold all the controllers - do them as UX requires (at least admin).

Separate client app

  • ci/cd deploy (client hosted from separate web server - if js, hosted from different url, cors handling)

bonus track: full coverage with unit, integration tests and e2e tests (playwright or similar).

Write your own client in any technology you like (react, angular, vue, blazor, android, ios, dotnet etc).
Using your own backend rest api and JWT/refresh_token authentication.
Deploy the client to your VPS (separate docker/domain) - if it is web based.

Client must be able to login/logout, use jwt and refresh token flow, and do CRUD operations against your backend (minimum 3 entities).

https://gitlab.proxy.itcollege.ee/2025-2026-spring/akaver-csharp-demo/